package org.example.domain.po;

import lombok.Data;
import org.example.domain.enums.MessageTypeEnum;

import java.io.Serializable;

@Data
public abstract class MessagePO implements Serializable {

    /**
     * 根据消息类型字节，获得对应的消息 class
     *
     * @param messageType 消息类型字节
     * @return 消息 class
     */
    public static Class<? extends MessagePO> getMessageClass(int messageType) {
        return MessageTypeEnum.getMessageClassByType(messageType);
    }

    /**
     * 消息序列号
     */
    private int sequenceId;

    /**
     * 消息类型
     */
    private int messageType;

    public abstract int getMessageType();

}